/**
 * @filename:Api 2022-9-25
 * Copyright(c) 2022 Wonder Co. Ltd. 
 * All right reserved. 
 */
package com.wonder.admin.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.extension.activerecord.Model;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.FieldFill;
import java.util.List;
import java.util.Map;

/**   
 * @Description:TODO(API接口实体类)
 * 
 * @author: Wonder
 * 
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("sys_api")
@ApiModel(value="sys_api对象", description="API接口表")
public class SysApi extends Model<SysApi> {

	private static final long serialVersionUID = 1664061548783410L;
	
	@TableId(value ="id", type = IdType.AUTO)
	@ApiModelProperty(name = "id" , value = "编号")
    private Long id;
    
    @TableField(value = "menu_id") 	
	@ApiModelProperty(name = "menu_id" , value = "模块ID")
    private Long menu_id;
    
    @TableField(value = "name") 	
	@ApiModelProperty(name = "name" , value = "名称")
    private String name;
    
    @TableField(value = "api_name") 	
	@ApiModelProperty(name = "api_name" , value = "API名")
    private String api_name;
    
    @TableField(value = "type") 	
	@ApiModelProperty(name = "type" , value = "接口类型")
    private Integer type;
    
    @TableField(value = "return_type") 	
	@ApiModelProperty(name = "return_type" , value = "返回类型")
    private String return_type;
    
    @TableField(value = "parameters") 	
	@ApiModelProperty(name = "parameters" , value = "参数列表")
    private String parameters_table;
	
	@TableField(exist = false)
	private List<Map<String,Object>> parameters;
    
    @TableField(value = "remark") 	
	@ApiModelProperty(name = "remark" , value = "API接口说明")
    private String remark;
    
    @TableField(value = "api_auth") 	
	@ApiModelProperty(name = "api_auth" , value = "接口是否鉴权")
    private Integer api_auth;
    
    @TableField(value = "other_config") 	
	@ApiModelProperty(name = "other_config" , value = "其他信息")
    private String other_config;
    
	@TableField(value = "create_time",fill=FieldFill.INSERT) 
	@ApiModelProperty(name = "create_time" , value = "创建时间")
    private Date create_time;
    
 	@TableField(value = "update_time",fill=FieldFill.UPDATE) 
	@ApiModelProperty(name = "update_time" , value = "更新时间")
    private Date update_time;
    
    @TableField(value = "action_type") 	
	@ApiModelProperty(name = "action_type" , value = "方法类型")
    private Integer action_type;
    

	@Override
    public Serializable pkVal() {
        return this.id;
    }
   
}
